package com.xiaotu.storage;

import java.util.Date;

import org.springframework.stereotype.Component;

import com.xiaotu.common.util.Constants;
import com.xiaotu.common.util.DataRedisKeyUtils;
import com.xiaotu.common.util.SepratorUtil;
import com.xiaotu.storage.converter.AConverter;
import com.xiaotu.storage.converter.ConverterFactory;
import com.xiaotu.storage.model.CacheDataModel;

import net.sf.json.JSONObject;
@Component("ScoreSupplementStorageProcessor")
public class ScoreSupplementStorageProcessor extends AHSetStorageProcessor {

	public static final String[] FIELD_ARR = new String[]{
			"dataid",
			"tvname",
			"score",
			"starLevel",
			"cinemaScore",
			"wantToSee",
			"imdbScore"
			};
	
	private static final String[] CONVERT_ARR = new String[]{
				AConverter.STRING_CONVERT,
				AConverter.STRING_CONVERT,
	    		AConverter.NUMBER_CONVERT,
	    		AConverter.NUMBER_CONVERT,
	    		AConverter.NUMBER_CONVERT,
	    		AConverter.NUMBER_CONVERT,
	    		AConverter.NUMBER_CONVERT
	    		};
	
	private static final boolean[] THROW_ARR = new boolean[]{
				true ,true, true, true, true, true, true 
				};
	
	
	@Override
	protected String getRedisKey(Date date) {
		return "SCORE_SUPPLEMENT";
	}

	@Override
	public String process(JSONObject target, CacheDataModel cacheData, Date date) {
		return this.list2CSVLine(ConverterFactory.convert(target, FIELD_ARR, CONVERT_ARR,
                THROW_ARR), SepratorUtil.SEP_PIPE);
	}

	@Override
	public String getDataType() {
		return Constants.PageDataType.TV_REVIEWS;
	}

	@Override
	public String getTaskType() {
		return "MaoYanMovieScoreRelate";
	}
	
}
